package com.mall.ibatis.persistence.sqlmapdao;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.mall.ibatis.bean.FunMethod;
import com.mall.ibatis.bean.FunctionMethod;
import com.mall.ibatis.bean.Method;
import com.mall.ibatis.persistence.iface.FunctionMethodDAO;
import com.ibatis.dao.client.DaoManager;

public class FunctionMethodOracleDAO extends BaseSqlMapDao implements FunctionMethodDAO{

	public FunctionMethodOracleDAO(DaoManager daoManager) {
		super(daoManager);
	}

	//方法列表的加载.在功能jf_funmenu数据库表中查询出所有的方法
	@SuppressWarnings("unchecked")
	public List<FunctionMethod> selectAllFunctionMethod() {
		return queryForList("select_all_function_method",null);
	}

	//查询方法method表中有哪些方法，并加载到页面的选择框中
	@SuppressWarnings("unchecked")
	public List<Method> selectAllMethod() {
		return queryForList("select_all_method_to_choose", null);
	}

	//把方法和功能多对一得关系保存在fun_method表中
	public void updateFunMethod(String id, String methodId) {
		Map<String,String> map = new HashMap<String,String>();
		map.put("id",id);
		map.put("methodId",methodId);
		insert("update_fun_method",map);
	}

	//把方法和功能多对一得关系保存在fun_method表中之前先删除已存在的功能和方法的对应关系
	public void deleteFunMethod(String id) throws Exception{
		delete("delete_fun_method",id);
	}

	//查找所有的方法和功能的对应关系
	@SuppressWarnings("unchecked")
	public List<FunMethod> selectAllFunMethod() {
		return queryForList("select_all_fun_method",null);
	}

	//查询已经勾选过的方法
	@SuppressWarnings("unchecked")
	public List<String> methodIsChoose(String funId) {
		return queryForList("method_is_choose",funId);
	}

}
